Pivotal TrackerのAPIで、PBIのTASKを追加する
Pivotal TrackerにあるたくさんのPBIにタスクを追加します。
スクラムのプロジェクト管理にPivotal Trackerを使っています。 PBIのタスクにいろいろと書いているのですが、新しいタスクを追加することになりました。
このとき、バックログにある既存PBIすべてにタスクを追加したいです。 手動で更新するのは大変なので、Pivotal TrackerのAPIを使ってみました。
おすすめの方
- Pivotal TrackerのAPIを使いたい方
- Pivotal TrackerのAPIでPBIを検索したい方
- Pivotal TrackerのAPIでPBIにタスクを追加したい方
Pivotal TrackerのAPIトークンを取得する
下記を参考にしてAPIトークンを取得します。
Pivotal TrackerのAPIで、PBIにタスクを追加する
いまのPBIを確認する(タスクの様子)
PBIの一覧を取得して、タスクを追加するスクリプト
次のAPIを利用します。
本記事ではPythonで書いてみました。 PBIの一覧を取得する方法の詳細は、次をご覧ください。
import json import urllib.parse import requests from time import sleep API_ENDPOINT = 'https://www.pivotaltracker.com/services/v5' TOKEN = 'your_token' PROJECT_ID = 'xxx' def main(): result = search() for item in result['stories']['stories']: print(f"{item.get('id')} {item.get('name')}") add_task(item.get('id'), 'アレをコレしてソレする') sleep(0.1) print('------') print(result['stories']['total_hits']) def search(): headers = { 'X-TrackerToken': TOKEN, } # わかりやすさ優先でListで書いてみる query = [ 'type:feature,bug,chore', 'state:unscheduled,unstarted,started', ] url_query = { # キーワードの区切りは半角空白 'query': ' '.join(query), } parameter = urllib.parse.urlencode(url_query) resp = requests.get( f'{API_ENDPOINT}/projects/{PROJECT_ID}/search?{parameter}', headers=headers ) return resp.json() def add_task(story_id: int, description: str): headers = { 'X-TrackerToken': TOKEN, 'Content-Type': 'application/json', } payload = { 'description': description, } requests.post( f'{API_ENDPOINT}/projects/{PROJECT_ID}/stories/{story_id}/tasks', headers=headers, data=json.dumps(payload) ) if __name__ == '__main__': main()
実行する
python app.py
結果を確認する
タスクが追加されました。
さいごに
Pivotal Trackerで、既存のPBIにタスクを追加する場合に役に立つと思います。参考になれば幸いです。